﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using DataInfo;
using KenLib.BusinessManager;


public partial class JOINT_frmJ_TraineeEnterSchoolSearch : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        ((JOINT_MstPage_JOINT)this.Master).HideLiArea("frmJ_TraineeInterviewList");
        ((JOINT_MstPage_JOINT)this.Master).changeTitle("入学実習生一覧");
        if (Session["役"] == null || Session["役"].ToString() == "")
        {
            Response.Redirect("~/frmD_Login.aspx");
        }

        if (Request.UrlReferrer != null)
        {
            string PageRequest = Request.UrlReferrer.ToString();
            if (PageRequest.IndexOf("frmJ_TraineeManager.aspx") > 0)
            {
                Session.Remove("Load基本情報");
            }
        }
        else
        {
            Session.Remove("Load基本情報");
        }        
        if (!IsPostBack)
        {
            //this.getDD1_組合選択();
            //this.getDD1_組合員企業選択();
            this.getDDl_グループ名();
            string strHeader = "面接番号,企業名,氏名,生年月日,社員ID";
            ShowGridViewNotClassEmpty(grv, strHeader, "データーがありません。");
            
            if(Session["Load基本情報"] != null){
                基本情報 obj_基本情報 = new 基本情報();
                obj_基本情報 = (基本情報)Session["Load基本情報"];
                ddl_グループ名.SelectedValue = obj_基本情報.入国ＧID.ToString();
                getDD1_組合選択();
                ddl_組合選択.SelectedValue = obj_基本情報.団体ID.ToString();
                getDD1_組合員企業選択();
                ddl_組合員企業選択.SelectedValue = obj_基本情報.企業ＩＤ.ToString();
                ShowGrid(obj_基本情報);
            }
        }
        ddl_グループ名.Focus();
    }
    /// <summary>
    /// EVENT'S BUTTON 共通情報登録
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btn共通情報登録_Click(object sender, EventArgs e)
    {
        if (Convert.ToInt32(Session["frmJ_TraineeEnterSchoolSearch_flag"]) == 1)
        {
            基本情報 _基本情報 = Get基本情報();
            基本情報Manager _基本情報Manager = new 基本情報Manager();
            DataTable dt = _基本情報Manager.sp_frmJ_TraineeEnterSchoolSearch_SEARCH基本情報(_基本情報);
            if (dt.Rows.Count == 0)
            {
                string strHeader = "面接番号,企業名,氏名,生年月日,社員ID";
                ShowGridViewNotClassEmpty(grv, strHeader, "データーがありません。");
                ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert('データがありません');</script>");
                return;
            }
            else
            {
                Session["frmJ_TraineeEnterSchoolSearch_ddl_グループID"] = Convert.ToInt32(ddl_グループ名.SelectedValue);
                Session["frmJ_TraineeEnterSchoolSearch_ddl_グループ名"] = Convert.ToString(ddl_グループ名.SelectedItem.Text);
                Response.Redirect("frmJ_TraineeGroupInput.aspx");
            }
        }
        else
        {
            ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert('データがありません');</script>");
            string strHeader = "面接番号,企業名,氏名,生年月日,社員ID";
            ShowGridViewNotClassEmpty(grv, strHeader, "データーがありません。");
            return;
        }
        
        ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "regis", "startup();", true);

    }
    /// <summary>
    /// BIND DATA INTO DDl_グループ名
    /// </summary>
    public void getDDl_グループ名()
    {
        入国ＧManager frm = new 入国ＧManager();
        DataTable dt = new DataTable();
        dt = frm.frmJ_TraineeEnterSchoolSearch();
        if (dt.Rows.Count > 0)
        {
            ddl_グループ名.DataSource = dt;
            ddl_グループ名.DataTextField = "入国Ｇ名";
            ddl_グループ名.DataValueField = "ID";
            ddl_グループ名.DataBind();

            ListItem 選択 = new ListItem("[選択]", "-1");
            ddl_グループ名.Items.Insert(0, 選択);
        }
        ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "regis", "startup();", true);
    }
    /// <summary>
    /// BIND DATA INTO DD1_組合選択
    /// </summary>
    public void getDD1_組合選択()
    {
        本社情報Manager frm = new 本社情報Manager();
        DataTable dt = new DataTable();
        if (ddl_グループ名.SelectedIndex != 0)
        {
            dt = frm.Search_グループ(ddl_グループ名.SelectedValue);
        }
        else
        {
            dt = frm.Search_グループ("0");
        }

        //if (dt.Rows.Count > 0)
        {
            ddl_組合選択.DataSource = dt;
            ddl_組合選択.DataTextField = "企業名";
            ddl_組合選択.DataValueField = "企業ID";
            ddl_組合選択.DataBind();

            ListItem 選択 = new ListItem("[選択]", "-1");
            ddl_組合選択.Items.Insert(0, 選択);
        }
        ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "regis", "startup();", true);
    }
    /// <summary>
    /// BIND DATA INTO DD1_組合員企業選択
    /// </summary>
    public void getDD1_組合員企業選択()
    {
        本社情報Manager frm = new 本社情報Manager();
        DataTable dt = new DataTable();
        if (ddl_組合選択.SelectedIndex != 0)
        {
            dt = frm.frmJ_TraineeAppAssignConfirm_GetDDl組合員企業選択(Int32.Parse(ddl_組合選択.SelectedValue));
        }
        else
        {
            dt = frm.frmJ_TraineeAppAssignConfirm_GetDDl組合員企業選択(0); ;
        }
        //if (dt.Rows.Count > 0)
        {
            ddl_組合員企業選択.DataSource = dt;
            ddl_組合員企業選択.DataTextField = "企業名";
            ddl_組合員企業選択.DataValueField = "企業ID";
            ddl_組合員企業選択.DataBind();

            ListItem 選択 = new ListItem("[選択]", "-1");
            ddl_組合員企業選択.Items.Insert(0, 選択);
        }
        ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "regis", "startup();", true);
    }

    /// <summary>
    /// EVENT'S BUTTON 決定
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btn決定_Click(object sender, EventArgs e)
    {
        if (Convert.ToInt32(ddl_グループ名.SelectedValue) == -1)
        {
            Session["frmJ_TraineeEnterSchoolSearch_flag"] = 0;
            string strHeader = "面接番号,企業名,氏名,生年月日,社員ID";
            ShowGridViewNotClassEmpty(grv, strHeader, "データーがありません。");
            ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert('グループ名を選択して下さい');</script>");
            return;
        }
        else
        {
            基本情報 _基本情報 = Get基本情報();
            ShowGrid(_基本情報);
            Session["Load基本情報"] = _基本情報;
        }
    }
    /// <summary>
    /// BIND DATA INTO GRIDVIEW
    /// </summary>
    /// <param name="_基本情報"></param>
    public void ShowGrid(基本情報 _基本情報)
    {

        _基本情報 = Get基本情報();
        基本情報Manager _基本情報Manager = new 基本情報Manager();
        DataTable dt = _基本情報Manager.sp_frmJ_TraineeEnterSchoolSearch_SEARCH基本情報(_基本情報);
        if (dt.Rows.Count == 0)
        {
            Session["frmJ_TraineeEnterSchoolSearch_flag"] = 0;
            string strHeader = "面接番号,企業名,氏名,生年月日,社員ID";
            ShowGridViewNotClassEmpty(grv, strHeader, "データーがありません。");

        }
        else
        {
            Session["frmJ_TraineeEnterSchoolSearch_flag"] = 1;
            grv.DataSource = dt;
            grv.DataBind();
        }
    }
    /// <summary>
    /// 
    /// </summary>
    /// <returns></returns>
    public 基本情報 Get基本情報()
    {
        基本情報 _基本情報 = new 基本情報();
        if (Convert.ToInt32(ddl_グループ名.SelectedValue) == -1)
        {
            _基本情報.入国ＧID = -1;
        }
        else
        {
            _基本情報.入国ＧID = Convert.ToInt32(ddl_グループ名.SelectedValue);
        }

        if (Convert.ToInt32(ddl_組合選択.SelectedValue) == -1)
        {
            _基本情報.団体ID = -1;
        }
        else
        {
            _基本情報.団体ID = Convert.ToInt32(ddl_組合選択.SelectedValue);
        }

        if (Convert.ToInt32(ddl_組合員企業選択.SelectedValue) == -1)
        {
            _基本情報.企業ＩＤ = -1;
        }
        else
        {
            _基本情報.企業ＩＤ = Convert.ToInt32(ddl_組合員企業選択.SelectedValue);
        }
        return _基本情報;
    }
    /// <summary>
    /// CONVERT DATE
    /// </summary>
    /// <param name="str"></param>
    /// <returns></returns>
    public string ConvertDate(string str)// ham convert ngay thang nam.
    {
        if (str == "")
        {
            return str = "";
        }
        else
        {
            string date = str;
            DateTime d1 = DateTime.Parse(date);
            d1.Year.ToString();
            return date = d1.ToString("yyyy年MM月dd日");
        }
    }
    /// <summary>
    /// 
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void lk2_Click(object sender, CommandEventArgs e)
    {
        string ID = e.CommandArgument.ToString();
        Session["ID"] = ID;
        Response.Redirect("frmJ_TraineeEnterBasicInput.aspx");
    }
    /// <summary>
    /// 
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void grv_PageIndexChanging(object sender, GridViewPageEventArgs e)// phan trang.
    {
        grv.PageIndex = e.NewPageIndex;
        基本情報 _基本情報 = Get基本情報();
        ShowGrid(_基本情報);
    }
    /// <summary>
    /// 
    /// </summary>
    /// <param name="grv"></param>
    /// <param name="strTableHeader"></param>
    /// <param name="strEmpty"></param>
    public void ShowGridViewNotClassEmpty(GridView grv, string strTableHeader, string strEmpty)
    {
        DataTable dt = new DataTable();
        string[] arrColumnNames = strTableHeader.Split(',');
        foreach (string str in arrColumnNames)
        {
            dt.Columns.Add(str);
        }
        grv.ShowFooter = false;
        DataRow r = dt.NewRow();
        dt.Rows.InsertAt(r, 0);
        grv.DataSource = dt;
        grv.DataBind();
        grv.Rows[0].Cells.Clear();
        TableCell cell = new TableCell();
        cell.ColumnSpan = grv.Columns.Count + 1;
        cell.Text = strEmpty;
        grv.Rows[0].Cells.Add(cell);
    }
    /// <summary>
    /// 
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void grv_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        基本情報 _基本情報 = Get基本情報();
        基本情報Manager _基本情報Manager = new 基本情報Manager();
        DataTable dt = _基本情報Manager.sp_frmJ_TraineeEnterSchoolSearch_SEARCH基本情報(_基本情報);
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            LinkButton lk = (LinkButton)e.Row.FindControl("lk1");
            //string abc = dt.Rows[e.Row.RowIndex]["実習生選択情報ID"].ToString();
            if (e.Row.RowIndex > -1)
            {
                try
                {
                    if (dt.Rows[e.Row.RowIndex]["実習生選択情報ID"].ToString() == "")
                    {
                        lk.Enabled = false;
                    }
                }catch{
                    
                }
            }
        }
    }
    /// <summary>
    /// 
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void ddl_組合選択_SelectedIndexChanged(object sender, EventArgs e)
    {
        getDD1_組合員企業選択();
        if (ddl_組合選択.SelectedIndex == 0)
        {
            ddl_組合員企業選択.Items.Clear();
            ListItem 選択 = new ListItem("[選択]", "-1");
            ddl_組合員企業選択.Items.Insert(0, 選択);
        }
        string strHeader = "面接番号,企業名,氏名,生年月日,社員ID";
        ShowGridViewNotClassEmpty(grv, strHeader, "データーがありません。");
        ddl_組合選択.Focus();
    }
    /// <summary>
    /// 
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void ddl_グループ名_SelectedIndexChanged(object sender, EventArgs e)
    {
        getDD1_組合選択();
        ddl_組合員企業選択.Items.Clear();

        ListItem 選択 = new ListItem("[選択]", "-1");
        ddl_組合員企業選択.Items.Insert(0, 選択);

        string strHeader = "面接番号,企業名,氏名,生年月日,社員ID";
        ShowGridViewNotClassEmpty(grv, strHeader, "データーがありません。");
        ddl_組合選択.Focus();
        ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "regid", "startup();", true);
        RequiredFieldValidatorグループ名.Validate();
    }
}
